package org.wlw.servlet;

import org.wlw.models.User;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/user")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        User user = new User("zhangsan","123","张三");
        //req的生命周期是服务器端跳转，如果进行了客户端跳转，就没有办法在页面获取到req.setAttribute的值。
        req.setAttribute("user",user);
        //如果希望传值，就要进行服务器端跳转。
        //执行客户端跳转，如果jsp页面在WEB-INF中，是没有办法获取到这个页面信息的，访问不了这个jsp页面
//        resp.sendRedirect(req.getContextPath()+"/jsp/user.jsp?username="+user.getUsername());
        //服务器端跳转，这种跳转不会修改浏览器的地址,服务器端跳转是可以访问WEB-INF中的内容的。
        req.getRequestDispatcher("/WEB-INF/jsp/user.jsp?username="+user.getUsername()).forward(req,resp);
        //在实际的开发中基本不会涉及到直接访问jsp页面，都是通过服务器端跳转来访问
    }
}